<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<button onclick="submit()">点我</button>
		<script>
			function submit() {
				alert(123)
			}
			// for (var i = 0; i < 5; i++) {
			// 	setTimeout(() => {
			// 		console.log(i)
			// 	}, 1000)
			// }
			// 冒泡排序
			// let arr = [22, 11, 0, 5, 7, 8]
			// for (let i = 0; i < arr.length; i++) {
			// 	for (let j = 0; j < arr.length - i; j++) {
			// 		if (arr[j] > arr[j + 1]) {
			// 			let temp = arr[j]
			// 			arr[j] = arr[j + 1]
			// 			arr[j + 1] = temp
			// 		}
			// 	}
			// }
			// console.log(arr)
			采用数据监听 解析结合订阅者模式的方式,通过Object.defineProperty()来监听各个属性
			的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调
			
			var Book = {}
			var name = '';
			Object.defineProperty(Book, 'name', {
			  set: function (value) {
			    name = value;
			    console.log('你取了一个书名叫做' + value);
			  },
			  get: function () {
			    return '《' + name + '》'
			  }
			})
			 
			Book.name = 'vue权威指南';  // 你取了一个书名叫做vue权威指南
			console.log(Book.name);  // 《vue权威指南》
			
		</script>
	</body>
</html>
